﻿using IdentityService.Domain.Aggregates.RoleAggregate;

namespace IdentityService.Domain.Repositories
{
    public interface IRoleRepository
    {
        Task AddAsync(Role role);
        void Delete(Role role);
        Task<Role?> FindByIdAsync(long id);
        Task<Role?> FindByIdIncludeUserAccountsAsync(long id);
        Task<Role?> FindByIdIncludePermitsAsync(long id);
        Task<Role?> FindByIdIncludeAllAsync(long id);
        Task<bool> CheckExistByNameAsync(string name);
    }
}
